《Android 基础(二)》 BroadcastReceiver

介绍

BroadcastReceiver:广播接收者,很形象,广播发送,类比生活中的广播,有能力听得到的都可以介绍到这个信息,然后在大脑中反映。对应到Android中就是SendBroadcast和onReceive。
广播之间信息的传递是通过Intent对象来传递的,Intent调用分为显示调用的隐式调用两种。

使用方法

广播接收者

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MyReceiver extends BroadcastReceiver {

public static final String HELLOACTION = "com.example.mraz.learnbroadcastreceiver.android.intent.action.HELLO";

public MyReceiver() {
}

@Override
public void onReceive(Context context, Intent intent) {

String str = intent.getStringExtra("message");
System.out.println("on Reveiver" + str);
}
}

静态注册

AndroidManifest.xml

1
2
3
4
5
6
7
8
9
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true"
>
<intent-filter>
<action android:name="com.example.mraz.learnbroadcastreceiver.android.intent.action.HELLO"/>
</intent-filter>
</receiver>

动态注册

1
2
3
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(MyReceiver.HELLOACTION);
registerReceiver(myReceiver, intentFilter);
1
unregisterReceiver(myReceiver);//解除注册

结果

Demo界面
这里写图片描述

静态注册方式下:
发送广播->取消注册 ->发送广播
这里写图片描述

动态注册方式下:
发送广播->注册广播->发送广播-> 取消注册 -> 发送广播
这里写图片描述

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×